package part2;
import java.util.Iterator;
import java.util.ListIterator;

public interface List<E> extends Iterable<E> {
	/* returns true if this list contains the specified element */
	boolean contains(E e);
	
	/* returns the element at the specified position in this list */
	E get(int index);
	
	/* returns an iterator over the elements in this list 
	 * that preserves the position of elements */
	Iterator<E> iterator();
	
	/* returns a list iterator over the elements in this 
	 * list that preserves the position of elements */
	ListIterator<E> listIterator();
	
	ListIterator<E> listIterator(int size);
	
	/* removes the first occurrence of the specified 
	 * element from this list, if it is present */
	boolean remove(E e);
	
	/* returns the number of elements in this list */
	int size();
	
	/* reverses this list */
	void reverse();
	
}
